package upc.dew.inscripcionalumnos.dao;

import java.util.List;

import upc.dew.inscripcionalumnos.exception.ServiceException;
import upc.dew.inscripcionalumnos.model.Documento;
import upc.dew.inscripcionalumnos.model.Postulante;
import upc.dew.inscripcionalumnos.model.Usuario;

public interface PostulanteDAO 
{
    Postulante registrarPostulante(Postulante postulante) throws ServiceException;

    Documento obtenerDocumento(Integer codigoPostulante) throws ServiceException;
    
    Usuario registrarUsuario(Postulante postulante) throws ServiceException;

    List<Postulante> obtenerPostulantes() throws ServiceException;

    List<Postulante> obtenerPostulantes(Integer fase, String estado) throws ServiceException;

    Postulante obtenerPostulante(Integer codigoPostulante) throws ServiceException;

    Postulante obtenerPostulantePorCodigoUsuario(Integer codigoUsuario) throws ServiceException;

    void registrarDocumento(Documento documento) throws ServiceException;
}